#pragma once
#include <sstream>

class Point3D
  {
  public:
    Point3D(double x = 0, double y = 0, double z = 0);
    ~Point3D(void);
    double GetX() const;
    double GetY() const;
    double GetZ() const;
    double Dist(const Point3D& i_other) const;
    void SetRandom(int i_max_value);

    friend std::ostream& operator << (std::ostream& o_stream, const Point3D& i_point);

  private:
    double m_x[3];
  };

